package com.nebula.service;

import com.nebula.common.DataGridFooter;
import com.nebula.common.PageResult;
import com.nebula.entity.Benefits;
import com.nebula.vo.BenefitsVo;

/**
 * @author CcccX
 * @since 2020-07-05 20:21
 */
public interface IBenefitsService {
    /**
     * 节日福利 - 分页查询
     * @param id 用户ID
     * @param page 页码
     * @param size 每页显示条数
     * @param year 查询条件-年份
     * @return PageResult
     */
    PageResult<BenefitsVo> findByUserIdAndPage(String id, int page, int size, int... year);

    /**
     * 统计
     * @param userId 用户ID
     * @param year 查询条件-年份
     * @return DataGridFooter
     */
    DataGridFooter findTotalBenefits(String userId, int... year);

    /**
     * 新增节日福利
     * @param benefits 实体类
     */
    void save(Benefits benefits);

    /**
     * 更新节日福利
     * @param benefits 实体类
     */
    void update(Benefits benefits);

    /**
     * 通过ID查找
     * @param id 福利ID
     * @return BenefitsVo
     */
    BenefitsVo findById(int id);

    /**
     * 通过ID删除
     * @param id 福利ID
     */
    void delete(int id);
}
